/**
 * @Title: DJobService.java
 * @Package com.kaver.capital.service.common.component.djob
 * @author roc
 * @date 2020年8月14日 下午2:21:31
 * @version V1.0
 * @copyright kaver
 */
package com.kaver.job.core.djob;

/**
 * @ClassName: DJobService
 * @Description: 动态job服务  
 * @author roc
 * @date 2020年8月14日 下午2:21:31
 * 
 */
public interface DJobService {
    /**
     * 创建一个执行一次的job
     * @param 
     */
    void pubOneCountJob(DJobEnum enums, String serialNo, String param);

    /**
     * 创建一个执行一次的job
     * 
     * @param delay
     *            延迟时间 单位秒
     */
    void pubOneCountJob(DJobEnum enums, String serialNo, String param, long delay);

    /**
     * 创建一个连续执行的job
     */
    void pubRateJob(DJobEnum enums, String serialNo, String param);

    /**
     * 创建一个连续执行的job
     * 
     * @param delay
     *            延迟时间 单位秒
     */
    void pubRateJob(DJobEnum enums, String serialNo, String param, long delay);

    /**
     * 停止一个job
     */
    void stopJob(DJobEnum enums, String serialNo);
    
    /**
     * 执行次数
     * */
    long count(DJobEnum enums, String serialNo);
}
